package com.example.eventbus;

import androidx.appcompat.app.AppCompatActivity;

import android.annotation.SuppressLint;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;

import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;

public class FirstActivity extends AppCompatActivity implements View.OnClickListener {

    @SuppressLint("MissingInflatedId")
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_first);
        findViewById(R.id.btn_jump).setOnClickListener(this);
        //注册订阅者
        EventBus.getDefault().register(this);
    }

    //跳转
    @Override
    public void onClick(View view) {
        //跳转时发布粘性事件 在第二个页面接收粘性事件
        //此时粘性事件先发布 在需要时再注册接收者处理事件 这就是粘性事件的好处
        //注意粘性事件也会触发普通事件的订阅者
        EventBus.getDefault().postSticky("this is a sticky");
        Intent intent = new Intent(this , SecondActivity.class);
        intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        startActivity(intent);
    }

    //创建订阅者
    @Subscribe(threadMode = ThreadMode.MAIN)
    public void MySubscribe(String event){
        Log.d("guaimiao" , "Event>>>"+event);
    }



    //注销订阅者
    @Override
    protected void onDestroy() {
        super.onDestroy();
        EventBus.getDefault().unregister(this);
    }
}